#ifndef _CPP_STORY_BACKGROUND_H_
#define _CPP_STORY_BACKGROUND_H_

#include <vector>
#ifdef WIN32
#include "cppstory_win32.h"
#endif

namespace CppStory
{

class Step;

#ifdef WIN32
class CPPSTORY_WIN32_API Background
#else
class Background
#endif
{
public:
    Background();
    ~Background();

    void register_step(Step *c);
    std::vector< Step* > steps;

    Step* get_cur_step() { return cur_step; }

    bool run();
    bool get_result() { return result; }
    void clean_contexts();
private:
    Step* cur_step;
    bool result;
};

}

#endif

